// Authentication related types

export interface User {
  id: string
  username: string
  email: string
  role: 'admin' | 'user'
  avatar?: string
  created_at: string
  updated_at: string
}

export interface LoginRequest {
  username: string
  password: string
}

export interface LoginResponse {
  token: string
  user: User
}

export interface RegisterRequest {
  username: string
  email: string
  password: string
  confirm_password: string
}

export interface RegisterResponse {
  message: string
  user: User
}

export interface RefreshTokenResponse {
  token: string
}

export interface UpdateProfileRequest {
  username?: string
  email?: string
  avatar?: string
}